﻿using ConfExpert.Forms.Base;
using DevTeam;


using System;
using System.Collections.Generic;
using System.Data;

namespace ConfExpert.Forms.Depo
{
    public partial class AtilDepoyaAt : XForm
    {
        string toplar;
        public AtilDepoyaAt(DataTable sr)
        {
            InitializeComponent();
            this.toplar = sr.Serialize();
        }

        List<int> lst;
        public AtilDepoyaAt(int CustomerId, string ProductIds)
        {
            InitializeComponent();

            lst = new List<int>();
            DataTable dt = ExecuteDataTable("GetToplarByCustomerProduct", CustomerId, ProductIds);
            foreach (DataRow r in dt.Rows)
                lst.Add(r["RollId"].ToInt());

            this.toplar = string.Join(",", lst.ToArray());
        }

        private void AtilDepoyaAt_Load(object sender, EventArgs e)
        {
            gridView1.Init("GetAtilDepoyaAt", toplar);
            gridView1.FormatAsNumber(1, "Qty");
            gridView1.AddSummary("Qty");
            gridView1.MakeReadOnly("Sebebi");
            gridView1.BestFitColumns();

            btnKaydet.ItemClick += btnKaydet_ItemClick;
        }

        void btnKaydet_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            gridView1.EndEditing();

            if(gridView1.DataTable().Select("Sebebi is null").Length>0)
            {
                ShowErrorMessage("Sebebi alanı hiçbir top için boş bırakılamaz.");
                return;
            }

            string xmlSel = gridView1.Serialize();
            ExecuteNonQuery("UpdAtilDepoyaAt", WhoAmI, xmlSel);

            /*
            if (ds.xBuffer.Rows.Count > 0)
                if (!ds.xBuffer[0].IsintValNull())
                {
                    string oid = string.Empty;
                    foreach (MyData.xBufferRow r in ds.xBuffer)
                        oid += r.intVal.ToString() + Environment.NewLine;

                    XtraMessageBox.Show("Yetkili olmadığınız bir depodaki topu atıla atamazsınız. Şu toplar bu kuralı ihlal ediyor:\n\n" + oid, "İşlem başarısız");

                    return;
                }
                else
                    Message = "Talebiniz ilgili takım liderine iletildi. Takip için IstekId: " + ds.xBuffer[0].strVal;

            if (Message != string.Empty)
                XtraMessageBox.Show(Message);
            */

            //ExecuteNonQuery("UpdAtilDepoyaAt", WhoAmI, gridView1.Serialize());
            this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }
    }
}
